<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_CN" xml:lang="zh_CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="../rurple.css" type="text/css" />

<title>排序</title>
</head>
<body>

<h2 class="title">43. 排序</h2>
<p><i>排序</i>, 就是将一个集合中的对象按照升序或者降序来排列, 在编写代码量大的程序时尝尝需要用到. 在此节中, 你要教给乐跑机器人一些排序的技能.</p>

<h3 class="section">两列排序</h3>

<p>我们先来热热身, 写一个程序来让乐跑机器人布局<i>或者说,排列</i>垂直的两堆传呼器. 这里是两种典型的场景:</p>
<p><img alt="sorting start" src="../../images/advanced/sort1_start.png" />
<img alt="leads to" src="../../images/lead_to.png" /><img alt="sorting end" src="../../images/advanced/sort1_end.png" /></p>
<br />
<br />
<br />
<p><img alt="sorting start" src="../../images/advanced/sort2.png" />
<img alt="leads to" src="../../images/lead_to.png" /><img alt="sorting end" src="../../images/advanced/sort2.png" /></p>
<p>思考: 要怎样变更你的程序才使得这两堆报警器按降序排列呢?</p>

<h3 class="section">多列排序</h3>

<p>接下来这个练习会更加有挑战性. 编写一个程序,使得乐跑机器人能够对数目不详的多堆传呼器进行升序排列. 以第一个空的堆为标记多个被排序堆的结尾. 这里有一个典型的例子:</p>
<p><img alt="sorting start" src="../../images/advanced/sort3_start.png" /></p>
<p>
<img alt="leads to" src="../../images/lead_to.png" /><img alt="sorting end" src="../../images/advanced/sort3_end.png" /></p>
<p>思考: 要如何变更你的程序才能使这些报警器堆进行降序排列?</p>

<div class="lessons_nav">
<a href="42-numbers.htm"><img alt="previous" src=
"../../images/previous.png" />八进制, 十六进制和二进制数字</a> - 
<a href="../lessons_toc.htm"><img alt="home" src="../../images/home.png" />
</a> - <a href="44-fractions.htm">分数（第一课）<img alt="next"
src="../../images/next.png" /></a>
</div>
</body>
</html>
